OpenStack Havana - Start Instances
2013/11/22 |
Create and Start Virtual Machine Instance.
|
|
[1] | Create a network which instances use in OpenStack internal system. |
# nova-manage network create --label (any name) --dns1 (DNS server) --fixed_range_v4=(internal range) root@dlp ~(keystone)# nova-manage network create --label network01 --dns1 10.0.0.10 --fixed_range_v4=10.1.0.0/24 root@dlp ~(keystone)# nova-manage network list id IPv4 IPv6 start address DNS1 DNS2 VlanID project uuid 1 10.1.0.0/24 None 10.1.0.2 10.0.0.10 None None None a02b7b6d-1fb1- |
[2] | Change default security rules to access to instances with SSH. |
# permit SSH root@dlp ~(keystone)# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | tcp | 22 | 22 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+ # permit ICMP root@dlp ~(keystone)# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | icmp | -1 | -1 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+root@dlp ~(keystone)# nova secgroup-list-rules default +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | tcp | 22 | 22 | 0.0.0.0/0 | | | icmp | -1 | -1 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+ |
[3] | Specify flavor (memory or disk) and create an instance and boot it. |
# default flavor list root@dlp ~(keystone)# nova flavor-list +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ # confirm virtual image root@dlp ~(keystone)# nova image-list +--------------------------------------+-------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+-------------+--------+--------+ | 424a8c60-8cde-4601-9cdf-65da03062ab4 | Ubuntu13.10 | ACTIVE | | +--------------------------------------+-------------+--------+--------+ # create and boot an instance root@dlp ~(keystone)# nova boot --flavor 2 --image Ubuntu13.10 --security_group default Ubuntu_Saucy +--------------------------------------+--------------------------------------+ | Property | Value | +--------------------------------------+--------------------------------------+ | OS-EXT-STS:task_state | scheduling | | image | Ubuntu13.10 | | OS-EXT-STS:vm_state | building | | OS-EXT-SRV-ATTR:instance_name | instance-00000004 | | OS-SRV-USG:launched_at | None | | flavor | m1.small | | id | e4eddb40-a07e-42b0-8c35-0a37b90a027b | | security_groups | [{u'name': u'default'}] | | user_id | 7dacb8c4d511463d9bfb35f209ecb833 | | OS-DCF:diskConfig | MANUAL | | accessIPv4 | | | accessIPv6 | | | progress | 0 | | OS-EXT-STS:power_state | 0 | | OS-EXT-AZ:availability_zone | nova | | config_drive | | | status | BUILD | | updated | 2013-11-22T05:45:33Z | | hostId | | | OS-EXT-SRV-ATTR:host | None | | OS-SRV-USG:terminated_at | None | | key_name | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | name | Ubuntu_Saucy | | adminPass | 7HSy5eBtSGpL | | tenant_id | efa4897fa0314da9b983d20ceaf81a96 | | created | 2013-11-22T05:45:32Z | | os-extended-volumes:volumes_attached | [] | | metadata | {} | +--------------------------------------+--------------------------------------+ # confirm status root@dlp ~(keystone)# nova list +------------+--------------+--------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +------------+--------------+--------+------------+-------------+--------------------+ | e4eddb40-a | Ubuntu_Saucy | BUILD | spawning | NOSTATE | network01=10.1.0.2 | +------------+--------------+--------+------------+-------------+--------------------+ |
[4] | Login to the Instance just booted. |
# after few minutes later, the Status turns "ACTIVE" like follows root@dlp ~(keystone)# nova list +------------+--------------+--------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +------------+--------------+--------+------------+-------------+--------------------+ | e4eddb40-a | Ubuntu_Saucy | ACTIVE | None | Running | network01=10.1.0.2 | +------------+--------------+--------+------------+-------------+--------------------+ # it's OK if answer replys like follows root@dlp ~(keystone)# ping 10.1.0.2 PING 10.1.0.2 (10.1.0.2) 56(84) bytes of data. 64 bytes from 10.1.0.2: icmp_req=1 ttl=64 time=0.431 ms 64 bytes from 10.1.0.2: icmp_req=2 ttl=64 time=0.267 ms ^C --- 10.1.0.2 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.267/0.349/0.431/0.082 ms # login with SSH root@dlp ~(keystone)# ssh ubuntu@10.1.0.2 The authenticity of host '10.1.0.2 (10.1.0.2)' can't be established. ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:bd:a5:06. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.1.0.2' (ECDSA) to the list of known hosts. ubuntu@10.1.0.2's password: Last login: Fri Nov 22 13:10:55 2013 ubuntu@ubuntu:~$ # just logined normally |
[5] | If you'd like to stop an instance, it's possible to shutdown in instance with shutdown command off course, but it's also possible to control with nova command like follows. |
root@dlp ~(keystone)# nova list +------------+--------------+--------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +------------+--------------+--------+------------+-------------+--------------------+ | e4eddb40-a | Ubuntu_Saucy | ACTIVE | None | Running | network01=10.1.0.2 | +------------+--------------+--------+------------+-------------+--------------------+ # stop instance root@dlp ~(keystone)# nova stop Ubuntu_Saucy root@dlp ~(keystone)# nova list +------------+--------------+---------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +------------+--------------+---------+------------+-------------+--------------------+ | e4eddb40-a | Ubuntu_Saucy | SHUTOFF | None | Shutdown | network01=10.1.0.2 | +------------+--------------+---------+------------+-------------+--------------------+ # start instance again root@dlp ~(keystone)# nova start Ubuntu_Saucy root@dlp ~(keystone)# nova list +------------+--------------+--------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +------------+--------------+--------+------------+-------------+--------------------+ | e4eddb40-a | Ubuntu_Saucy | ACTIVE | None | Running | network01=10.1.0.2 | +------------+--------------+--------+------------+-------------+--------------------+ |